BPMN - Criação de Processos com Tabs
A criação de tarefas por Tabs, é uma disponibilização de processos utilizando o componente tab que permite desenvolver todo o processo numa só página, sendo assim, facilmente possível o utilizador ver outras etapas do processo.
Neste exemplo de processo a ser estudado temos o FrontOffice a fazer o pedido, o Técnico a fazer a análise, a Diretora a fazer a verificação, o diretor a fazer a homologação e o Técnico a fazer a entrega. Sendo a diretora com propriedades de atribuir tarefas aos diferentes utilizadores.
No mapa de processos, prodemos ver as operações que é possível realizar no decorrer de um processo, tais como: a inicialização de tarefas no botão play, também pode-se consultar detalhes do processo no botão de detalhes, e ainda pode liberar um processo no botão eliminar.
Na página de distribuição de tarefas, o utilizador pode ver as tarefas que estão disponíveis, ver as suas tarefas e gerir as suas tarefas, Tambésm alterar a prioridade de uma tarefa.
O tab de Gerir Tarefas, normalmente tem a propriedade Transation ativada que permite essa funcionalidade ser atribuidada aos perfis de coordenadores, gestores ou diretores, ou seja, aqueles que tomam as decisões. Neste tab pode-se: transferir tarefas, alterar prioridade ou desassociar tarefas.
Na página de consulta e processos, o utilizador tem o conjunto de filtros que pode aplicar sobre a lista de processos apresentados. Sendo possível ver as tarefas que foram terminadas, que não foram atribuidos, e as que estão em execução.
A programaão de processos em tabs tem algumas vantagens de seguida apresentadas e permite utilização de processos em tabs, onde é possível ter o acesso ao processo em geral.
Recomendações e Vantagens:
- Utilizar o nome assocido à etapa associada ( exemplo: email-pedido, em vez de email);
- Não utilizar palavra "task" no Id da etapa, uma vez que a palavra task e acrescentada pelo igrpweb;
- Utilizar radio-list sempre do tipo String, porque o BPMN reconhece como string e o radio-list por defeito é inteiro;
- Evitar tags repetidos uma vez que estamos a utilizar tabs em vez de páginas;
- A utilização de tabs facilita o load de etapas anteriores com apenas uma linha de código;
- Não atribuir tarefa à um perfil que está atualmente logado;
- Ao utilizar páginas copiadas nos tabs facilita na alteração dos nos dos tags.
Esta imagem acima mostra-nos a configuração do processo em estudo no igrpweb, utilizando a ferramenta do IGRP Studio denominado de BPMN Designer. Neste caso como estamos a estudar a disponibilização de processos em tabs, todas as etapas do processo, estão associados à mesma página.
A programação de processos com tab tem como principal objetivo a criação de uma classe Helper que permite a visualização e/ou ocultação de etapas de processos correspondentes à um determinado tab utilizando a propriedade switch-case que oculta e mostra tabs do processo de acordo com o perfil associado.
Neste caso o utilizador, pode facilmente ver os dados preenchidos nas etapas anteriores sem precisar carregar dados da base de dados, apenas utilizando o id do processo.
Após a criação do "swicth-case" na classe Helper, é preciso determinar qual etapa a ser mostrada. Para isso, é preciso programar o Action Index de cada uma das Tasks de acordo com o exemplo da figura 7, neste caso, respectivo ao TaskParecer, onde a classe Helper recebe o parametro view, model e "PA", utilizado para mostrar os tabs que deve aparecer na etapa Parecer.
Apesar de apresentar as páginas no tab, o desenvolvedor sempre cria todas as páginas referentes à etapas, em separado no IGRP Studio, e depois copia-os nos respectivos tabs, inserindo a página criada num componente denominado box que permite-nos determinar quais os componentes a copiar. A propriedade Copy FROM, permite copiar componentes de uma outra página, e neste caso não é desativado a propriedade de copy from conforme o asterístico assinalado nesta imagem acima, que permite facilitar na alteração dos nomes, caso assim for necessário.